﻿using System;
using System.Collections.Generic;
using PES.Common.BLL;
using Campeonato.Model;

namespace PESWeb.Pages.Controls
{
    using PES.Model;

    public partial class PartidasDoDia : System.Web.UI.UserControl
	{
		protected void Page_Load(object sender, EventArgs e)
		{
			this.lblMensagem.Text = "Jogos de Hoje (" + DateTime.Now.Date.ToString("dd/MM/yyyy") + ")";
		}

		public void CarregaJogosDeHoje(IList<Campeonato> _campeonatosCarregados)
		{
			this.partidasGridView.CarregaJogosPorData(DateTime.Now.Date, _campeonatosCarregados);

			if (this.partidasGridView.DataGridSize > 0)
			{
				this.partidasGridView.DataGridVisible = true;
				this.lblSemPartidas.Visible = false;
				if (_campeonatosCarregados[0].EstiloCampeonato == TipoCampeonato.PONTOS_CORRIDOS_DOIS_TURNOS ||
					_campeonatosCarregados[0].EstiloCampeonato == TipoCampeonato.PONTOS_CORRIDOS_DOIS_TURNOS_COM_FINAIS)
				{
					this.confrontosPassadosGridView.CarregaProximosConfrontos(this.partidasGridView.GetPartidasDataSource, _campeonatosCarregados);
					this.confrontosPassadosGridView.Visible = this.confrontosPassadosGridView.DataGridSize > 0;
					this.lblConfrontosAnteriores.Visible = true;
				}
				else
				{
					this.lblConfrontosAnteriores.Visible = false;
				}
			}
			else
			{
				this.partidasGridView.DataGridVisible = false;
				this.confrontosPassadosGridView.DataGridVisible = false;
				this.lblSemPartidas.Visible = true;
				this.lblConfrontosAnteriores.Visible = false;
			}
		}

		public string CarregaJogadoresSuspensos(IList<Campeonato> _campeonatosCarregados)
		{
			string notification = string.Empty;
			
			//Inserir estes jogadores no controle de mensagem
			List<JogadorVirtual> suspensos = partidasGridView.CarregaJogadoresSuspensos();

			if (suspensos.Count > 0)
			{
				List<Jogador> jogadores = new List<Jogador>();

				string notFormat = "{0} - {1}({2})<br />";

				foreach (Campeonato c in _campeonatosCarregados)
				{
					jogadores.AddRange(JogadorBLL.BuscarJogadores(c));
				}


				notification = "<p><strong>Tem gente pendurada pra hoje, heim!!!!!</strong></p>";

				notification += "<img src=\"../images/card_red.png\" width=\"40\" height=\"52\" style=\"float: left;\" />";
				notification += "<div style=\"float: left; padding-left: 20px;\">";

				foreach (JogadorVirtual j in suspensos)
				{
					Jogador jogador = jogadores.Find(x => x.ID == j.Jogador.ID);
					notification += string.Format(notFormat, j.Nome, jogador.TimeEscolhido, jogador.Nome);
				}

				notification += "</div>";
			}

			return notification;
		}
	}
}